/* 
 * File:   defs.h
 * Author: jcrada
 *
 * Created on September 6, 2008, 5:36 PM
 */

#ifndef _DEFS_H
#define	_DEFS_H
#define DISALLOW_COPY_AND_ASSIGN(TypeName) \
  TypeName(const TypeName&);               \
  void operator=(const TypeName&)

#define STOCHASTIC
#define DEFAULT_SEED_CONSTRAINT_SOLVER 50

#include "Logger.h"
#define LOGP(message) LOG4CXX_INFO(jcrada::Logger::PLAIN(), message);
#define LOGPI(message) LOG4CXX_INFO(jcrada::Logger::PLAIN(), jcrada::StringUtil::concat("INFO:", message));
#define LOGPW(message) LOG4CXX_WARN(jcrada::Logger::PLAIN(), jcrada::StringUtil::concat("WARN:", message));
#define LOGPW2(message1, message2 ) LOGPW(jcrada::StringUtil::concat(message1, message2));

#include <QtCore/QDir>
#ifdef MACOSX
#define PATH std::string("/Users/jcrada/Development/MScThesis/dist/bin/")
#elif UNIX
#define PATH std::string("/home/jcrada/Development/MScThesis/dist/bin/")
#endif
//#ifdef MACOSX
//#define DEF_RESOURCES std::string(QDir::currentPath().toStdString() + "/MScThesis.app/Contents/Resources/")
//#else
#define DEF_RESOURCES std::string(PATH + "../res/")
//#endif

//#ifdef MACOSX
//#define DEF_LOGS std::string(QDir::currentPath().toStdString() + "/MScThesis.app/Contents/log/")
//#else
#define DEF_LOGS std::string(PATH + "../log/")
//#endif
#define DEF_EXPERIMENTS std::string("../../experiments/")

#include "BasicDebug.h"
#ifdef RELEASE
#define BDEBUG
#define DEBUGM
#else
#define DEBUGM BasicDebug::debug(QString(__FILE__) + " , " + QString::number(__LINE__));
#define BDEBUG(message) BasicDebug::debug(QString(__FILE__).toStdString() + " , " + QString::number(__LINE__).toStdString() + " :: <" + message + ">" );
#endif

#include "StringUtil.h"
#define TO_STRING(value) StringUtil::toString(value)

#endif	/* _DEFS_H */

